import os


def extract_string_from_file(file_path, search_string):
    with open(file_path, 'r', encoding='utf-8') as file:
        # 读取文件的所有行
        lines = file.readlines()
        
    # 用于存储包含特定字符串的行
    found_lines = []
    
    idx = "-1"
    # 遍历每一行，检查是否包含特定字符串
    for line in lines:
        if search_string in line:
            return file_path
            #found_lines.append(line.strip())  # 去掉行尾的换行符
    return idx

# 遍历指定文件夹，查找所有的txt文件, 根据特定字符串，找到所在文件
def process_folder(folder_path, search_string):
    # 获取文件夹中的所有文件
    for filename in os.listdir(folder_path):
        # 如果文件是txt文件
        if filename.endswith(".txt") and filename.find("CoreInfo") >= 0:
            
            file_path = os.path.join(folder_path, filename)
            print(f"处理文件: {filename}")
            # 提取该文件中包含特定字符串的行
            result = extract_string_from_file(file_path, search_string)
            
            # 输出包含特定字符串的行
            if result != "-1":
                print(f">>> 在文件 {filename} 中找到包含 '{search_string}' 的行：")
                return
            else:
                print(f"在文件 {filename} 中没有找到包含 '{search_string}' 的行。")


if __name__ == "__main__":

    rootPath = "E:\\workspace\\CheckBuilder_Model\\x64\\release\\AlgLogs"
   # 使用示例
    folder_path = rootPath  # 替换为你的文件夹路径
    search_string = 'OK_EBR567005RGAB03row2col1'  # 替换为你要查找的字符串
    process_folder(folder_path, search_string)

